﻿using System;
using Fly.Data;
using FlyWebFrame.Model;

namespace FlyWebFrame.Action.admin
{
    public class editaccount : baseaction
    {
        public int editaccount_id;
        public dynamic view;
        public string name;
        public string passold;
        public int accid;
        public string email;
        public string err = "";

        public override void Treat()
        {
            contentleft = "/html/admin/addaccount.htm";
            page_title += " - Sửa tài khoản";
            admin_script = "$('#ad_account').addClass('active');";
            
            Admin acc = new Admin();

            admin_script += "$('#page-heading').html('<h1>Sửa thông tin tài khoản</h1>');";
            admin_script += "$('#input_account_name').remove();";
            admin_script += "$('#lbl_account_name').removeClass('hidden');";
            
            Int32.TryParse(GetParameter(0), out editaccount_id);
            acc.Id = editaccount_id;
            if (acc.Instance().Status)
            {
                accid = acc.Id;
                name = acc.Name;
                passold = acc.Pass;
                email = acc.Email;
            }
            else
            {
                // looix
            }
            if (login_name == "admin" && login_name != name)
            { // reset password
                admin_script += "$('#old_pwd').remove();$('#confirm_pwd').remove();";
                // TODO: admin reset password for normal user
                if (Form["submit"] == "true")
                {
                    if (Form["Email"] == "" || Form["Email"].Length > 50)
                    {
                        err += "Địa chỉ email không được để trống hoặc dài hơn 50 ký tự.<br />";
                    }
                    if (Form["NewPass"] == "" || Form["NewPass"].Length > 50)
                    {
                        err += "Mật khẩu không được để trống hoặc dài hơn 50 ký tự.";
                    }
                    if (err != "")
                    {
                        admin_script += "$('#err-newsadd').removeClass('hidden');$('#err-newsadd').html('" + err + "');";
                    }
                    if (err == "")
                    {
                        acc.Id = editaccount_id;
                        acc.Pass = Form["NewPass"];
                        acc.Email = Form["Email"];
                        acc.Edit();
                        Redirect("/admin/account");
                        Refresh();
                    }
                    else
                    {
                        admin_script += "$('#err-newsedit').removeClass('hidden');$('#err-newsedit').html('Dữ liệu bạn nhập không hợp lệ');";
                    }
                }

            }
            else if(login_name == name) { // change password myself
                admin_script += "$('#old_pwd').removeClass('hidden');$('#confirm_pwd').removeClass('hidden');";
                // TODO: change pwd myself: check old pwd & confirm pwd
                
                if (Form["submit"] == "true")
                {
                    if (Form["Email"] == "" || Form["Email"].Length > 50)
                    {
                        err += "Địa chỉ email không được để trống hoặc dài hơn 50 ký tự.<br />";
                    }
                    if (Form["OldPass"] == "" || Form["OldPass"].Length > 50)
                    {
                        err += "Mật khẩu cũ không được để trống hoặc dài hơn 50 ký tự.<br />";
                    }
                    if (Form["OldPass"] != passold)
                    {
                        err += "Mật khẩu cũ không đúng.<br />";
                    }
                    if (Form["NewPass"] != "")
                    {
                        if (Form["NewPass"].Length > 50)
                        {
                            err += "br />Mật khẩu mới không được  dài hơn 50 ký tự.<br />";
                        }
                        if (Form["ConfirmPass"] == "" || Form["ConfirmPass"].Length > 50)
                        {
                            err += "Mật khẩu xác nhận không được để trống hoặc dài hơn 50 ký tự.<br />";
                        }
                        if (Form["ConfirmPass"] != Form["NewPass"])
                        {
                            err += "Mật khẩu xác nhận không trùng với mật khẩu mới";
                        }
                    }
                    if (err != "")
                    {
                        admin_script += "$('#err-newsadd').removeClass('hidden');$('#err-newsadd').html('" + err + "');";
                    }
                    if (err == "")
                    {
                        acc.Id = editaccount_id;
                        if (Form["NewPass"] != "")
                            acc.Pass = Form["NewPass"];
                        else acc.Pass = passold;
                        acc.Email = Form["Email"];
                        acc.Edit();
                        Redirect("/admin/account");
                        Refresh();
                    }
                    else
                    {
                        admin_script += "$('#err-newsedit').removeClass('hidden');$('#err-newsedit').html('Dữ liệu bạn nhập không hợp lệ');";
                    }
                }
            }
            
        }
    }
}